import os
from dotenv import load_dotenv
import secrets

# 尝试加载.env文件中的环境变量
env_path = os.path.join(os.path.dirname(__file__), '.env')
if os.path.exists(env_path):
    load_dotenv(env_path)

# 邮件服务器配置
SMTP_SERVER = os.getenv('SMTP_SERVER', 'smtp.163.com')      # 163专用服务器
SMTP_PORT = int(os.getenv('SMTP_PORT', '465'))              # SSL加密端口
SENDER_EMAIL = os.getenv('SENDER_EMAIL', 'your_email@163.com')  # 完整邮箱
SENDER_PASSWORD = os.getenv('SENDER_PASSWORD', 'your_auth_code')# 授权码

# 数据库配置
DB_PATH = os.getenv('DB_PATH', 'data/shop.db')

# 服务器配置
HOST = os.getenv('HOST', '0.0.0.0')
PORT = int(os.getenv('PORT', '8080'))
DEBUG = os.getenv('DEBUG', 'True').lower() == 'true'
SECRET_KEY = os.getenv('SECRET_KEY', secrets.token_hex(24))

# 验证配置是否完整
def validate_config():
    """验证配置是否完整"""
    missing_configs = []
    
    if not SENDER_EMAIL:
        missing_configs.append('SENDER_EMAIL')
    if not SENDER_PASSWORD:
        missing_configs.append('SENDER_PASSWORD')
    
    if missing_configs:
        raise ValueError(f"缺少必要的配置项: {', '.join(missing_configs)}。请检查.env文件或环境变量。") 